package com.yejiali.backend.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.yejiali.backend.entity.Messages;
import com.yejiali.backend.entity.vo.UnReadMessageCountVO;
import com.yejiali.backend.response.Response;

import java.util.List;

/**
 * 消息表(Messages)表服务接口
 *
 * @author yejiali
 * @since 2025-08-18 17:10:53
 */
public interface MessagesService extends IService<Messages> {
    /**
     * 查询给我发消息的人
     *
     * @param userId
     * @return
     */
    Response<?> sendMyMessagePerson(Long userId);

    /**
     * 查询消息
     *
     * @param myId
     * @param toId
     * @return
     */
    Response<?> getMessages(Long myId, Long toId);

    /**
     * 标记消息为已读
     *
     * @param
     */
    Response<String> markMessageAsRead(Long userId, Long sender);


    /**
     * 保存消息
     * @param toUserId
     * @param fromUserId
     * @param message
     */
    void saveMessage(Long toUserId, Long fromUserId, String message);

    /**
     * 标记未读消息条数
     */
    Response<String> markUnreadCount(Long receiverId, Long senderId);

    /**
     * 查询消息中心未读消息数
     */
    Response<UnReadMessageCountVO> unreadCount(Long userId);

}
